import axios, {CreateAxiosDefaults} from "axios";
import { Message } from '@arco-design/web-vue';

const request = axios.create({
    baseURL: 'http://localhost:8101',
    timeout: 5000,
    withCredentials: true
} as CreateAxiosDefaults)

// 响应拦截器
request.interceptors.response.use(res => {
    if (res.status != 200){
        Message.error('系统内部异常')
        return res
    }else {
        // if (res.data.code === 40100){
        //     Message.error(res.data.message)
        //     // 登录过期
        //     window.location.href = '/login'
        //     return res
        // }
        if (res.data.code !== 0){
            Message.error(res.data.message)
            return res
        }
    }
    return res
}, err => {
    Message.error('系统内部异常')
    return Promise.reject(err)
})

// 请求拦截器
request.interceptors.request.use(config => {
    // 请求之前处理
    const token = localStorage.getItem('token')
    config.headers = {
        ...config.headers,
        'token': token
    }
    return config
}, err => {
    Message.error('系统内部异常')
    return Promise.reject(err)
})

export default request
